/*
  作者：bilibili_cly
  版权所有：© 2024 bilibili_cly
  B站主页：https://space.bilibili.com/642010138
  许可：除非授权，否则仅限于个人学习和非商业用途使用。
*/

/**
 * 根据属性值的类型返回默认值
 * @param {*} value - 属性的当前值
 * @returns {*} - 属性的默认值
 */
function GetDefaultValue(value) {
  // 如果值是数组或对象，返回空数组或空对象
  if (Array.isArray(value)) {
    return [];
  } else if (value && typeof value === "object") {
    return {};
  } else {
    // 如果是其他类型，返回 null
    return null;
  }
}

const DataUtils = {
  /**
   * 清空传入对象的数据
   * @param {Object} obj
   */
  ClearData(obj) {
    // 遍历对象的所有属性
    for (const key in obj) {
      if (obj.hasOwnProperty(key)) {
        // 将每个属性的值设为默认值
        obj[key] = GetDefaultValue(obj[key]);
      }
    }
  },
};

export default DataUtils;
